--Straight from Nick WolfFang's Double Jump ability

freeslot("sfx_sncdjp")

/*-----------------------DOUBLE JUMP--------------------------*/
local function Sonic_CustomDoubleJump(player)
if player and player.mo and player.mo.skin == "darl" 
--Exclude abilities from Saxa's Murder Mystery
and gametype != GT_SAXAMM
	if not (P_IsObjectOnGround(player.mo))
	and not (player.gotflag or player.gotcrystal)
	and (player.cmd.buttons & BT_CUSTOM1)
		if (player.pflags & PF_JUMPED)
			if not player.jumpdid
				--The 2nd Jump
				player.pflags = $ & ~(PF_JUMPED|PF_SPINNING)
				player.pflags = $ & ~PF_NOJUMPDAMAGE
				player.mo.state = S_PLAY_ROLL
				S_StartSound(player.mo, sfx_sncdjp)
					
				for i = 1, 12
					local dust = P_SpawnMobjFromMobj(player.mo, 0, 0, 0, MT_SPINDUST)
					dust.angle = ANG30*i
					dust.flags = $|MF_SCENERY
					dust.frame = $
					P_InstaThrust(dust, dust.angle, 6*dust.scale)
					P_Thrust(dust, player.mo.angle, player.speed/2)
				end
				player.mo.momz = 10*FU
				player.pflags = $|PF_JUMPED
				player.jumpdid = true
			end
		end
	end
	if (P_IsObjectOnGround(player.mo))
		player.jumpdid = false
	end
end
end

addHook("PlayerThink", Sonic_CustomDoubleJump) --Hooked Double Jump